import request from "./request";
import qs from "qs";

/* 用户管理 */

// 登录(返回token)  Promise<AdminLoginRes>修改成自定义的返回类型
export const loginToken = (params: AdminLoginData): PromiseRes<AdminLoginRes> =>
  request.post("/admin/login", params);

// 获取当前登录用户信息  Promise<AdminLoginRes>修改成自定义的返回类型
export const getUserInfo = (): PromiseRes<AdminInfoRes> =>
  request.get("/admin/info");

// 获取用户数据列表
export const getAdminLists = (
  data: AdminListParams
): PromiseRes<{ list: {}[] }> => request.get("/admin/list", { params: data });

// 修改用户信息
export const updateAdmin = (id: number, data: AdminObjItf): PromiseRes =>
  request.post("/admin/update/" + id, data);

// 获取所有角色
export const getAllRole = (): PromiseRes<[]> => request.get("/role/listAll");

// 获取指定用户的角色
export const getUserRole = (id: number): PromiseRes =>
  request.get("/admin/update/" + id);

// 获取所有角色
export const getRoleListAll = (): PromiseRes<RoleObjItf[]> =>
  request.get("/role/listAll");

// 根据用户id获取角色
export const getAdminRoleById = (id: number): PromiseRes<RoleObjItf[]> =>
  request.get("/admin/role/" + id);

// 分配用户角色 axios 的post允许有三个参数
// export const updateAdminRole = (data: { adminId: number; roleIds: string }): PromiseRes => request.post('/admin/role/update', null, { params: data })

// 分配用户角色   form-data
export const updateAdminRole = (data: {
  adminId: number;
  roleIds: string;
}): PromiseRes => request.post("/admin/role/update", qs.stringify(data));

//获取首页数据 此接口为其他项目
export const getAdminStat = (): PromiseRes<{ [key:string]:{}[] }> =>
  request.get("http://kumanxuan1.f3322.net:8360/admin/stat");
